package homework.day01;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 * 使用匿名内部类和lambda两种写法
 * 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 * @author Xiloer
 *
 */
public class Test02 {
	public static void main(String[] args) {
		//定位当前目录
		//【使用File访问.目录】
		File dir =new File(".");
		//【获取当前File对象表示的目录中的所有子项】
		File[] suns = dir.listFiles(new FileFilter() {
			public boolean accept(File file) {
				//【返回当前File对象目录里面所有包含s的子项】
				return file.getName().contains("s");
			}
		});
		//【遍历输出所有通过过滤器的子项】
		for (int i = 0; i < suns.length; i++) {
			//【输出数组的名字 就是该目录的子项】
			System.out.println(suns[i].getName());
		}
		//【判断当前File对象表示的是否为一个目录】
//		if(dir.isDirectory()){
//
//			FileFilter filter =new FileFilter() {
//
//				public boolean accept(File file) {
//					String name = file.getName();
//					return file.getName().contains("s");
//				}
//			};
//			File[] subs = dir.listFiles(filter);
//			for (int i = 0; i < subs.length; i++) {
//				System.out.println(subs[i].getName());
//			}



//		}


		}
	}
/*
	提示代码:
	需要用到的语句，尝试按照正确顺序将下列代码并放在main方法中完成需求，
	并在注释中标注每句话的作用，
	//【使用File访问.目录】
	File dir = new File(".");

	//【获取当前File对象表示的目录中的所有子项】
	File[] suns = dir.listFiles(new FileFilter() {
		public boolean accept(File file) {

		}
	});

	//【判断当前File对象表示的是否为一个目录】
	if(dir.isDirectory()){

	}

	//【输出数组的名字 就是该目录的子项】
	System.out.println(subs[i].getName());

	//【返回当前File对象目录里面所有包含s的子项】
	return file.getName().contains("s");

	//【遍历输出所有通过过滤器的子项】
	for(int i=0;i<subs.length;i++){

	}



 */